package org.smart4j.framework.helper;

import java.util.Properties;

import org.smart4j.framework.ConfigConstant;
import org.smart4j.framework.util.CastUtil;
import org.smart4j.framework.util.PropsUtil;

/**
 * description: 获取配置文件 助手类 
 * @version v1.0
 * @author w
 * @date 2018年8月26日下午9:00:25
 */

public final class ConfigHelper {
	
	/**
	 * jsp 视图文件 默认路径
	 */
	private static final String DEFAULT_JSP_PATH = "/WEB-INF/views/";
	
	/**
	 * static 静态文件 默认路径
	 */
	private static final String DEFAULT_STATIC_PATH = "/static/";
	
	private static final Properties PROP =	PropsUtil.load(ConfigConstant.CONFIG_FILE);
	
	public static String getJdbcDriver(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.JDBC_DRIVER, PROP);
	}
	
	public static String getJdbcURL(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.JDBC_URL, PROP);
	}
	
	public static String getJdbcUsername(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.JDBC_USERNAME, PROP);
	}
	
	public static String getJdbcPassword(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.JDBC_PASSWORD, PROP);
	}
	
	public static String getAppBasePackage(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.APP_BASE_PACKAGE, PROP);
	}

	public static String getAppJspPath(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.APP_JSP_PATH,DEFAULT_JSP_PATH, PROP);
	}
	
	public static String getAppAssetPath(){
		return PropsUtil.getInstanse().getProperty(ConfigConstant.APP_ASSET_PATH,DEFAULT_STATIC_PATH,PROP);
	}
	
	/**
	 * description: 获取上传文件大小 最大限制
	 * @return int
	 * @version v1.0
	 * @author w
	 * @date 2018年10月22日 下午8:56:06
	 */
	public static int getAppUploadLimit(){
		return CastUtil.castInt(PropsUtil.getInstanse().getProperty(ConfigConstant.APP_UPLOAD_LIMIT ,(10+"") , PROP));
	}
}
